package com.yyj.dao;

import com.yyj.model.TPropertyWaterBill;
import com.yyj.model.TPropertyWaterBillExample;
import java.util.List;

import com.yyj.web.protocol.req.BackendWaterBillListReq;
import com.yyj.web.protocol.req.WaterBillQueryReq;
import com.yyj.web.protocol.resp.BackendWaterBillListResp;
import com.yyj.web.protocol.resp.WaterBillQueryResp;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface TPropertyWaterBillMapper {
    int countByExample(TPropertyWaterBillExample example);

    int deleteByExample(TPropertyWaterBillExample example);

    int deleteByPrimaryKey(Long id);

    int insert(TPropertyWaterBill record);

    int insertSelective(TPropertyWaterBill record);

    List<TPropertyWaterBill> selectByExampleWithRowbounds(TPropertyWaterBillExample example, RowBounds rowBounds);

    List<TPropertyWaterBill> selectByExample(TPropertyWaterBillExample example);

    TPropertyWaterBill selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") TPropertyWaterBill record, @Param("example") TPropertyWaterBillExample example);

    int updateByExample(@Param("record") TPropertyWaterBill record, @Param("example") TPropertyWaterBillExample example);

    int updateByPrimaryKeySelective(TPropertyWaterBill record);

    int updateByPrimaryKey(TPropertyWaterBill record);
    List<TPropertyWaterBill> queryWaterBill(WaterBillQueryReq waterBillQueryReq);

    List<WaterBillQueryResp> queryUnpaidWaterBill(WaterBillQueryReq waterBillQueryReq);

    List<BackendWaterBillListResp> queryBackendWaterBill(BackendWaterBillListReq backendWaterBillListReq);

}